home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / gcc / ixemsdk.lha / man / cat2 / statfs.0 < prev    next >
Text File  |  1996-09-01  |  4KB  |  90 lines

  1.  
  2. STATFS(2)                  UNIX Programmer's Manual                  STATFS(2)
  3.  
  4. NNAAMMEE
  5.      ssttaattffss - get file system statistics
  6.  
  7. SSYYNNOOPPSSIISS
  8.      ##iinncclluuddee <<ssyyss//ppaarraamm..hh>>
  9.      ##iinncclluuddee <<ssyyss//mmoouunntt..hh>>
  10.  
  11.      _i_n_t
  12.      ssttaattffss(_c_o_n_s_t _c_h_a_r _*_p_a_t_h, _s_t_r_u_c_t _s_t_a_t_f_s _*_b_u_f)
  13.  
  14.      _i_n_t
  15.      ffssttaattffss(_i_n_t _f_d, _s_t_r_u_c_t _s_t_a_t_f_s _*_b_u_f)
  16.  
  17. DDEESSCCRRIIPPTTIIOONN
  18.      SSttaattffss() returns information about a mounted file system.  _P_a_t_h is the
  19.      path name of any file within the mounted file system.  _B_u_f is a pointer
  20.      to a ssttaattffss() structure defined as follows:
  21.  
  22.      typedef struct { int32_t val[2]; } fsid_t;
  23.  
  24.      #define MFSNAMELEN   16 /* length of fs type name, including nul */
  25.      #define MNAMELEN     32 /* length of buffer for returned name */
  26.  
  27.      struct statfs {
  28.          short   f_type;     /* type of file system (unused; zero) */
  29.          short   f_flags;    /* copy of mount flags */
  30.          long    f_bsize;    /* fundamental file system block size */
  31.          long    f_iosize;   /* optimal transfer block size */
  32.          long    f_blocks;   /* total data blocks in file system */
  33.          long    f_bfree;    /* free blocks in fs */
  34.          long    f_bavail;   /* free blocks avail to non-superuser */
  35.          long    f_files;    /* total file nodes in file system */
  36.          long    f_ffree;    /* free file nodes in fs */
  37.          fsid_t  f_fsid;     /* file system id */
  38.          uid_t   f_owner;    /* user that mounted the file system */
  39.          long    f_spare[4]; /* spare for later */
  40.          char    f_fstypename[MFSNAMELEN]; /* fs type name */
  41.          char    f_mntonname[MNAMELEN];    /* directory on which mounted */
  42.          char    f_mntfromname[MNAMELEN];  /* mounted file system */
  43.      };
  44.  
  45.      Fields that are undefined for a particular file system are set to -1.
  46.      FFssttaattffss() returns the same information about an open file referenced by
  47.      descriptor _f_d.
  48.  
  49. RREETTUURRNN VVAALLUUEESS
  50.      Upon successful completion, a value of 0 is returned.  Otherwise, -1 is
  51.      returned and the global variable _e_r_r_n_o is set to indicate the error.
  52.  
  53. EERRRROORRSS
  54.      SSttaattffss() fails if one or more of the following are true:
  55.  
  56.      [ENOTDIR]     A component of the path prefix of _P_a_t_h is not a directory.
  57.  
  58.      [ENAMETOOLONG]
  59.                    The length of a component of _p_a_t_h exceeds {NAME_MAX} char-
  60.                    acters, or the length of _p_a_t_h exceeds {PATH_MAX} charac-
  61.                    ters.
  62.  
  63.      [ENOENT]      The file referred to by _p_a_t_h does not exist.
  64.  
  65.      [EACCES]      Search permission is denied for a component of the path
  66.  
  67.                    prefix of _p_a_t_h.
  68.  
  69.      [ELOOP]       Too many symbolic links were encountered in translating
  70.                    _p_a_t_h.
  71.  
  72.      [EFAULT]      _B_u_f or _p_a_t_h points to an invalid address.
  73.  
  74.      [EIO]         An I/O error occurred while reading from or writing to the
  75.                    file system.
  76.  
  77.      FFssttaattffss() fails if one or more of the following are true:
  78.  
  79.      [EBADF]       _F_d is not a valid open file descriptor.
  80.  
  81.      [EFAULT]      _B_u_f points to an invalid address.
  82.  
  83.      [EIO]         An I/O error occurred while reading from or writing to the
  84.                    file system.
  85.  
  86. HHIISSTTOORRYY
  87.      The ssttaattffss() function first appeared in 4.4BSD.
  88.  
  89. BSD Experimental               February 11, 1994                             2
  90.